package com.are.odisea;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class Categorias {
	private String error;
	private String key;
	private db conexion;
	
	public Categorias(db conexion) {
		this.setConexion(conexion);
	}
	
	public Categorias() {
		
	}

	public String getError() {
		return error;
	}

	public void setError(String error) {
		this.error = error;
	}

	public String getKey() {
		return key;
	}

	public void setKey(String key) {
		this.key = key;
	}

	public db getConexion() {
		return conexion;
	}

	public void setConexion(db conexion) {
		this.conexion = conexion;
	}
	
	public ResultSet  GetCatHijas(String PadreId){
		ResultSet rs=null;
		String sql="select id, descripcion from categorias where padreid='" + PadreId + "' and padreid<>id order by id";
		try {
			rs=conexion.Query(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return rs;
	}
	
	public ResultSet  GetCatPadres(int id){
		ResultSet rs=null;
		String sql="select id, descripcion from categorias where padreid=id and id="+id+" order by id";
		try {
			rs=conexion.Query(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return rs;
	}
	
	public ArrayList<Categoria> GetCatHijas(int PadreId) throws SQLException {
		ArrayList<Categoria> lista = new ArrayList<Categoria>();
		String sql="select id, descripcion,padreid,nivel from categorias where padreid= ? and nivel != 0 order by id";
		java.sql.PreparedStatement pst = conexion.getConnection().prepareStatement(sql);
		pst.setInt(1, PadreId);
		ResultSet rs = conexion.Query(pst);
		while (rs.next()) {
			Categoria categoria = new Categoria();
			categoria.setId(rs.getInt("id"));
			categoria.setDescripcion(rs.getString("descripcion"));
			categoria.setParent(rs.getInt("padreid"));
			categoria.setNivel(rs.getInt("nivel"));
			lista.add(categoria);
		}
		
		return lista;
	}
	
	
	
}
